Seamless Integration of Two Approaches to Dynamic Formal Verification of MPI Programs
نویسندگان
چکیده
We have built two tools for dynamically verifying MPI programs – one called ISP and the other called DMA. Both these tools are aimed at formally analyzing the executions of an MPI programs by running executions, analyzing the actual MPI operation dependencies that manifest, and rerunning executions to cover the dependency space. ISP implements an MPI-specific dynamic partial order reduction algorithm called POE while DMA implements a new distributed algorithm based on logical clocks. While ISP is able to scale up to tens of processes on medium-sized applications and offer more precise coverage of the dependency space, DMA is designed to scale up to thousands of processes on large applications, offering reduced (yet formally characterizable) coverage. In this position paper, we briefly describe ISP and DMA and explain the need to maintain both these tools – yet seamlessly integrate them within a common integration platform, with our current choice being Eclipse Parallel Tools Platform (PTP).
منابع مشابه
Reduced Execution Semantics of MPI: From Theory to Practice
There is growing need to develop formal verification tools for Message Passing Interface (MPI) programs to eliminate bugs such as deadlocks and local assertion violations. Of all approaches, dynamic verification is most practical for MPI. Since the number of interleavings of concurrent programs grow exponentially, we devise a dynamic interleaving reduction algorithm (dynamic partial order reduc...
متن کاملA short introduction to two approaches in formal verification of security protocols: model checking and theorem proving
In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...
متن کاملPractical Formal Verification of MPI and Thread Programs Tutorial Notes
This document is being prepared to serve as a reference for the tutorial with the same title that will be offered during EuroPVM/MPI 2009 in Espoo, September 7, 2009. In this tutorial, we will mostly focus on the topic of formal dynamic verification [1] of MPI programs using our tool ISP. There will also be a short session on shared memory program verification using our tool Inspect. Section 4 ...
متن کاملImplementing Efficient Dynamic Formal Verification Methods for MPI Programs
We examine the problem of formally verifying MPI programs for safety properties through an efficient dynamic (runtime) method in which the processes of a given MPI program are executed under the control of an interleaving scheduler. To ensure full coverage for given input test data, the algorithm must take into consideration MPI’s out-of-order completion semantics. The algorithm must also ensur...
متن کاملPractical Formal Verification of MPI and Thread Programs
Large-scale simulation codes in science and engineering are written using the Message Passing Interface (MPI). Shared memory threads are widely used directly, or to implement higher level programming abstractions. Traditional debugging methods for MPI or thread programs are incapable of providing useful formal guarantees about coverage. They get bogged down in the sheer number of interleavings ...
متن کامل